Lossless transform coding system for digital signals

ABSTRACT

The invention provides a reversible eight-element discrete cosine transform system which can be realized with a practical circuit and provide transform values proximate to those obtained by actual eight-element discrete cosine transform. In 4×4 matrix transform which appears when eight-element discrete cosine transform is decomposed in accordance with a high speed calculation method, transform values (X 1 , X 7 , X 3 , X 5 ) are divided into (X 1 , X 7 ) and (X 3 , X 5 ), and if (X 1 , X 7 ) are determined, then possible values as (X 3 , X 5 ), are limited. This is utilized for quantization of the elements. (X 1 , X 7 ) are quantized with step sizes of k 1  and k 2  by operators to obtain quantization values (Q 1 ,) Q 7 ). Meanwhile, from (X 3 , X 5 ), global quantization values are obtained by a quantizer using a conventional reversible quantization technique while local quantization values are obtained using a second numerical value table, and quantization values (Q 3 , Q 5 ) are obtained from the values of the gloval quantization values and the local quantization values. Then, an eight-element discrete cosine transform system is constructed by a combination of reversible transform quantization of a 4×4 matrix and conventional reversible transform quantization of a 2×2 matrix.

BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention relates to transform coding f or digital signals, and more particularly to coding for video signals.

2. Description of the Related Art

A linear transform coding system is known as a coding system for an audio or video signal. In the linear transform coding system, a plurality of discrete signals are linearly transformed first to obtain transform coefficients and then the transform coefficients are coded. By suitable selection of the base of the linear transform taking statistical characteristics of the signals into consideration, compression coding can be realized. It is known that a coding system which employs discrete cosine transform as such linear transform can achieve the highest compression coding of signals which conform to a highly correlated Markov probability model, and is utilized widely for international standardized systems.

While the discrete cosine transform is useful to achieve high compression coding in this manner, since it uses real numbers for the base of the transform, in order to realize lossless reversible coding, the quantization step size must be set small. This, however, gives rise to a disadvantage that the coding efficiency is deteriorated.

A system which achieve reversible coding such as discrete cosine transform without such deterioration in coding efficiency have been proposed. It is a "Lossless Transform Coding System for Digital Signals" proposed precedently by Mutsumi Ohta, one of the inventors of the present invention. In this system, reversible quantization is performed taking a discrete structure of transform coefficients using an integer matrix to which the transform is approximated to achieve reversible coding. In the following, the principle of this system is described.

According to the system, a transform matrix is multiplied by fixed numbers for individual rows and half-adjusted to obtain another matrix whose elements are integers, and then, integer N-element original signal vectors (x₀, . . . , x_(N-1)) are transformed with the integer matrix to obtain vectors (hereinafter referred to as transform points) (X₀, . . . , X_(N-1)) in a transform domain. While reversible coding can be achieved by the transform, since the density of the transform points is given by a reciprocal number 1/D to the determinant D of the integer matrix used for the transform, as the value of D increases, the number of useless integer points which do not make transform points in the transform domain increases, resulting in deterioration of the coding efficiency.

In order to eliminate such redundancies, reversible quantization is performed taking a discrete structure of transform points into consideration. It can be proved that the transform point structure has a period D with regard to each axis. Therefore, if the quantization periods of the individual axes which are multiples of D are represented by (d₀, . . . , d_(N-1)) and reversible quantization in regions of 0≦X₀ ≦d₀ -1, . . . 0≦X_(N-1) ≦d_(N-1) -1 around the origin is defined artificially, then reversible quantization of an arbitrary transform point can be performed making use of the periodicity.

First, (X₀, . . . X_(N-1)) are divided by the quantization periods (d₀, . . . , d_(N-1) to obtain quotients (a₀, . . . , (a_(N-1)) and remainders (r₀, . . . (r_(N-1)), respectively, and the quantization defined as above is performed for the remainders (r.sub. , . . . (r_(N-1)) to obtain quantization values (q.sub. , . . . , q_(N-1)) of the remainders (r.sub. , . . . , (r_(N-1)), respectively. Then, calculation given by the following expression is performed to obtain quantization values (Q.sub. , . . . Q_(N-1)) of the transform points:

    Q.sub.i =a.sub.i m.sub.i +q.sub.i (i=0 , . . . N-1)        (1)

where m_(i) (i=0, 1, . . . , N-1) is a width (range) of the possible values as q_(i). The redundancies of the transform points can be removed by quantization using the technique described above.

On the other hand, in inverse transform, (Q.sub. . . . , Q_(N-1)) are first divided by (m.sub. , . . . , m_(N-1)) to obtain quotients (a.sub. , . . . , (a_(N-1)) and remainders (q.sub. , . . . , q_(N-1)), respectively. Then, dequantization is performed for the remainders (q.sub. , . . . , q_(N-1)) to obtain (r.sub. , . . . , (r_(N-1)). Then, calculation given by the following expression:

    X.sub.i =a.sub.i d.sub.i +r.sub.i (i=0, . . . , N-1)       (2)

is performed, thereby achieving reversible dequantization. After the dequantization, the transform points (X.sub. , . . . , X_(N-1)) are linearly transformed with an inverse matrix to the original integer matrix to obtain the original signals (X.sub. , . . . , X_(N-1)).

In two-element discrete cosine transform, a matrix is approximated with ##EQU1## In this instance, since the determinant D is D=2, if reversible quantization is set in a basic region of 2×2, 4×4, 8×8, 16×8 or the like, reversible quantization for all inputs can be performed using the method described above.

In four-element discrete cosine transform, a matrix can be approximated, using suitable integers c₂, c₄ and c₆, with a matrix transform of ##EQU2## In this instance, an applicable high speed calculation method is available and can decompose the matrix transform into four 2×2 matrix transforms given by ##EQU3## By applying the method described above to the individual transforms, reversible transform free from redundancies can be achieved readily.

In eight-element discrete cosine transform, a matrix can be approximated, using suitable integers c₁, c₂, c₃, c₄, c₅, c₆ and c₇, with a matrix transform of ##EQU4## Also in this instance, an applicable high speed calculation method is available and can decompose the matrix transform into matrix transforms given by ##EQU5## Since the first eight transforms given by the expressions (10) to (17) are 2×2 matrix transforms, the method described above can be applied readily to them. However, the last 4×4 matrix transform given by the expression (18) requires such a large region for definition of quantization that a practical circuit for it cannot be realized. In particular, the determinant D of the matrix of the expression (18) is given by

    D=(c.sub.1.sup.2 -c.sub.7.sup.2 +2c.sub.3 c.sub.5).sup.2 +(c.sub.3.sup.2 -c.sub.5.sup.2 +2c.sub.1 c.sub.7).sup.2                   ( 19)

and the reciprocal number 1/D to D in this instance represents the density of the transform points. Consequently, in order to produce a quantization table using the technique described above, a table having at least D³ elements must be produced. Since the size of the table increases in proportion to the cube of the determinant D, where D is very large, it is difficult to realize the reversible quantization. For example, in the case of four-element discrete cosine transform by the aforementioned "Lossless Transform Coding System for Digital Signals" wherein (c₁, c₃, c₅, c₇)=(5, 4, 3, 1), since the determinant D is D=2,593, a quantization table having at least 2,593³ elements is required, which is not practical.

Further, in order to realize the eight-element reversible discrete cosine transform based on the method described above, such a circuit as shown in FIG. 6 is used. Where the circuit of FIG. 6 is employed, redundancies are removed by deleting the least significant bit of one of two calculation results for each butterfly calculation at the first and middle stages corresponding to the expressions (10) to (15) given hereinabove, the dynamic range of the calculation result from which the least significant bit has been deleted is reduced to 1/2 that of the other calculation result. As a result, the dynamic ranges of transform coefficients obtained finally are different among the different coefficients, and accordingly, the transform coefficients obtained finally are different in dynamic range from transform coefficients of actual discrete cosine transform.

SUMMARY OF THE INVENTION

It is an object of the present invention to provide a lossless transform coding system for digital signals which can readily achieve transform and reversible quantization based on a matrix of the expression (18) given hereinabove in an eight-element reversible discrete cosine transform system.

It is another object of the present invention to correct transform coefficients obtained by eight-element reversible discrete cosine transform so as to approach transform coefficients obtained by actual eight-element discrete cosine transform.

In order to attain the objects described above, according to an aspect of the present invention, there is provided a reversible transform system for reversibly transforming integer four-element vectors (u₄, u₅, u₆, u₇) into quantization values (Q₁, Q₇, Q₃, Q₅), comprising means for linearly transforming the integer four-element vectors (u₄, u₅, u₆, u₇) with an integer matrix ##EQU6## to obtain transform values (X₁, X₇, X₃, X₅), means for dividing the transform values X₁ and X₇ by natural numbers k₁ and k₇ and half-adjusting quotients of the division to obtain quantization values Q₁ and Q₇, respectively, means for multiplying the natural numbers k₁ and k₇ by the quantization values Q₁ and Q₇ to obtain products k₁ Q₁ and k₇ Q₇ and subtracting the products k₁ Q₁ and k₇ Q₇ from the transform values X₁ and X₇ to obtain remainder values r₁ and r₇, respectively, means for determining representative elements (s₃, s₅) based on a first numerical value table using the transform values (X₁, X₇) or the transform values (X₃, X₅), means for subtracting the representative elements (s₃, s₅) from the transform values (X₃, X₅), respectively, to obtain vectors, means for reversibly transforming and quantizing the vectors obtained by the subtracting means to obtain global quantization values (q₃, q₅), means for determining local quantization values (q'₃, q'₅) of the transform values (X₃, X₅) from the remainders (r₁, r₇) based on a second numerical value table, and means for multiplying the global quantization values (q₃, q₅) by natural numbers (m₃, m₅) and adding the local quantization values (q'₃, q'₅) to products of the multiplication to obtain quantization values (Q₃, Q₅) of the transform values (X₃, X₅), respectively.

The reversible transform system may be constructed such that, first, using g and h defined by g=c₁ ² -c₇ ² +2c₃ c₅ and h=c₃ ² -c₅ ² +2c₁ c₇ with the integers c₁, c₃, c₅ and c₇, a value of one of gX₁ +hX₇, gX₇ -hX₁, hX₃ +gX₅, and hX₅ -gX₃ is calculated from the transform values X₁, X₃, X₅ and X₇, next, a remainder is calculated when the obtained value is divided by D defined by D=(c₁ ² -c₇ ² +2c₃ c₅)² +(c₃ ² -c₅ ² +2c₁ c₇)², and then, the remainder is used as an input to the first numerical value table.

Or, the reversible transform system may be constructed such that, first, using the natural numbers k₁ and k₇, g and h defined by g=c₁ ₂ -c₇ ² +2c₃ c₅ and h=c₃ ² -c₅ ² +2c₁ c₇ with the integers c₁, c₃, c₅ and c₇, a value of one of gk₁ Q₁ +hk₇ Q₇ and gk₇ Q₇ -hk₁ Q₁ is calculated from the quantization values Q₁ and Q₇, next, a remainder is calculated when the obtained value is devided by D defined by D=(c₁ ² -c₇ ² +2c₃ c₅)² +(c₃ ² -c₅ ² +2c₁ c₇)², and then, the remainder is used as an index for the second numerical value table.

The inputs (u₄, u₅, u₆, u₇) in the 4×4 matrix transform given by the expression (18) given hereinabove are assumed to be integer vectors, and transform points are represented by (X₁, X₇, X₃, X₅). It can be proved that, if two values of the transform points (X₁, X₇) are determined, then the possible values as the remaining transform points (X₃, X₅), are limited to ##EQU7## where g=c₁ ² -c₇ ² +2c₃ c₅ and h=c₃ ² -c₅ ² +2c₁ c₇, n₁ and n₂ are arbitrary integers, and (s₃, s₅) are integer vectors limited from the transform points (X₁, X₇). The present embodiment makes use of this transform point structure.

First, with the matrix of the expression (18), the integer vectors (u₄, u₅, u₆, u₇) are linearly transformed into the transform points (X₁, X₇, X₃, X₅). Then, of those transform values X₁, X₇, X₃ and X₅, the two transform values X₁ and X₇ are quantized using the following expressions (21) and (22), respectively: ##EQU8## where k₁ and k₇ are natural numbers corresponding to step sizes of the transform values X₁ and X₇, respectively, and rnd(x) is a function which gives back a half-adjusted value of x. In this instance, also remainders r₁ =X₁ -Q₁ k₁ and r₇ =X₇ -Q₇ k₇ are calculated simultaneously.

Then, the transform values X₃ and X₅ are quantized using the relation of the expression (20) given above. The transform values X₃ and X₅ are divided into two parts of differences (X₃ -s₃, X₅ -s₅) and representative elements (s₃, s₅), and the differences (X₃ -s₃, X₅ -s₅) are quantized into global quantization values (q₃, q₅) while the representative elements (s₃, s₅) are quantized into local quantization values (q'₃, q'₅). Then, from the local quantization values and the global quantization values, quantization values Q₃ and Q₅ are calculated using the following expressions (23) and (24):

    Q.sub.3 =q.sub.3 m.sub.3 +q'.sub.3                         (23)

    Q.sub.5 =q.sub.5 m.sub.5 +q'.sub.5                         (24)

where m₃ and m₅ are natural numbers and represent ranges of the local quantization values q'₂ and q'₅, respectively. Since ##EQU9## the structure of entire possible points (X₃ -s₃, X₅ -s₅) has periodicity of the period D=h² +g² in each axial direction. Therefore, reversible quantization of the differences (X₃ -s₃, X₅ -s₅) is performed with a matrix ##EQU10## using a conventional technique to obtain quantization values (q₃, q₅).

By the way, the transform values X₁ and X₇ are quantized with the step sizes k₁ and k₇, respectively. Therefore, to certain values of the quantization values (Q₁, Q₇), k₁ ×k₇ values of the transform values (X₁, X₇) correspond, and simultaneously, k₁ ×k₇ values of the representative elements (s₃, s₅) correspond. In this instance, in order to settle the representative elements (s₃, s₅), the local quantization values (q'₃, q'₅) are used. In particular, quantization is performed so that the k₁ ×k₇ representative elements (s₃, s₅) and local quantization values (q'₃, q'₅) may correspond in a one-by-one correspondence to each other. If the quantization values (Q₁, Q₇) are determined once, then since the remainders (r₁, r₇) and the transform values (X₁, X₇) correspond in a one-by-one correspondence to each other, also the remainders (r₁, r₇) and the representative elements (s₃, s₅) correspond to each other. In the meantime, the ranges of the possible values as the remainders (r₁, r₇) are known in advance. Therefore, the correspondence between the k₁ ×k₇ remainders (r₁, r₇) and local quantization values (q'₃, q'₅) is defined taking the values of the representative elements (s₃, s₅) into consideration. Consequently, upon dequantization, since the transform values (X₁, X₇) can be determined from the quantization values (Q₁, Q₇) and the remainders (r₁, r₇) which can be determined from the local quantization values (q'₃, q'₅) while the representative elements (s₃, s₅) can be determined from the transform values (X₁, X₇), dequantization from the local quantization values (q'₃, q'₅) into the representative elements (s₃, s₅) can be performed reversibly.

The correspondence between the remainders (r₁, r₇) and the local quantization values (q'₃, q'₅) depends upon the values of the quantization values (Q₁, Q₇). However, if the representative elements (s'₃, s'₅) for (X₁, X₇)=(k₁ Q₁, k₇ Q₇), that is, for (r₁, r₇)=(0, 0), are equal, then the correspondence between the remainders (r₁, r₇) and the representative elements (s₃, s₅) is equal even if the quantization values (Q₁, Q₇) are different. Consequently, the correspondence between the remainders (r₁, r₇) and the local quantization values (q'₃, q'₅) can be determined by the representative elements (s'₃, s'₅) for (X₁, X₇)=(k₁ Q₁, k₇ Q₇). Accordingly, if such correspondences whose number is equal to that of the possible value as the representative elements (s'₃, s'₅) are prepared and described in a table, then transform from the remainders (r₁, r₇) to the local quantization values (q'₃, q'₅) can be realized by referring to the table. Since the determinant of the expression (26) is D equal to that of the matrix of the expression (18), the number of the possible values as the representative elements (s'₃, s'₅) is D, and also the number of necessary correspondences is D.

In order to realize the reversible transform system described above, three tables are required including a table for determination of the representative elements (s₃, s₅) from the transform values (X₁, X₇), another table for definition of reversible quantization of the differences (X₃ -s₃, X₅ -s₅) and a further table for determination of the local quantization values (q'₃, q'₅) from the remainders (r₁, r₇). Here, the number of elements of the table for determination of the representative elements (s₃, s₅) is equal to the number D of possible values as representative elements. Further, where the quantization periods upon reversible quantization of the differences (X₃ -s₃, X₅ -s₅) are represented by (i₃ D, i₅ D) and the scaling factors are represented by (l₃, l₅), the number of elements of the table for reversible quantization of the values (X₃ -s₃, X₅ -s₅) is i₃ i₅ D. The number of elements of the table for determination of the local quantization values (q'₃, q'₅) from the remainders (r₁, r₇) is k₁ k₇ D which is a product of multiplication of the number k₁ k₇, which is number of possible values as the remainders (r₁, r₇), by the number D of the representative elements. Accordingly, the total number of required elements of the tables is D(1+i₃ i₅ +k₁ k₇). Since actually the values of i₃, i₅, k₁ and k₇ are not very large, where the number D is large, the sizes of the required tables are much smaller than those of the prior art.

Further, in the reversible quantization from the transform points (X₁, X₇ , X₃, X₅) into the quantization values (Q₁, Q₇, Q₃, Q₅), the dynamic ranges of the quantization values Q₁, Q₇, Q₃ and Q₅ are reduced to 1/k₁, 1/k₇, (l₃ /i₃ D)×m₃, and (l₅ /i₅ D)×m₅ times those of the transform values X₁, X₇, X₃ and X₅, respectively. Consequently, if the values of k₁, k₇, m₃, m₅, i₃, i₅, l₃ and l₅ are determined so that the rates of the changes in dynamic ranges may be equal to each other, then th e dynamic ranges of the quantization values Q₁, Q₇, Q₃ and Q₅ can be made substantially equal to each other. Particularly in order to uniform the dynamic ranges while minimizing the redundancies, the values of k₁, k₇, m₃, m₅, i₃, i₅, l₃ and l₅ should be set so as to satisfy the following equations (27) and (28): ##EQU11##

In this manner, with the reversible transform system described above, the sizes of the tables can be reduced remarkably, and the dynamic ranges of transform coefficients can be made substantially equal to each other.

Thus, the first aspect of the present invention described above provides a practical quantization technique for 4×4 linear transform which appears in 8-element reversible discrete cosine transform. For example, where (c₁, c₃, c₅, c₅)=(5, 4, 3, 1), the 8-element discrete cosine transform based on the quantization technique of the "Lossless Transform Coding System for Digital Signals" proposed precedently requires a quantization table having at least 2,593³ elements because the determinant D=2,593. In contrast, according to the technique of the present invention, where k₁ =k₇ =m₃ =m₅ and the quantization periods in reversible quantization with the matrix of the expression (26) are (2,593, 2,593) and besides the scaling factors are (51, 51), from the condition to make the dynamic ranges uniform, k₁ =k₇ =m₃ =m₅ =7 are determined, and the total number of elements of the table is 2,593×51. Consequently, the total number of elements of the table is reduced approximately to 1/100,000.

According to another aspect of the present invention, there is provided an inverse transform system for inversely transforming quantization values (Q₁, Q₇, Q₃, Q₅) into integer four-element vectors (u₄, u₅, u₆, u₇), comprising means for dividing the quantization values (Q₃, Q₅) by natural numbers (m₃, m₅) to obtain quotients as global quantization values (q₃, q₅) and remainders as local quantization values (q'₃, q'₅), respectively, means for determining remainder values (r₁, r₇) from the local quantization values (q'₃, q'₅) based on a third numerical value table, means for multiplying the quantization values (Q₁, Q₇) by natural numbers (k₁, k₇) and adding the remainder values (r₁, r₇) to products of the multiplication to obtain transform values (X₁, X₇), respectively, means for determining representative elements (s₃, s₅) from the transform values (X₁, X₇) based on a fourth table, means for dequantizing the global quantization values (q₃, q₅) to obtain vectors, means for adding the representative elements (s₃, s₅) to the vector obtained by the dequantizing means to obtain transform values (X₃, X₅), and means for linearly transforming the transform values (X₁, X₇, X₃, X₅) with an inverse matrix of an integer matrix ##EQU12## to obtain the integer four-element vectors (u₄, u₅, u₆, u₇).

The inverse transform system may be constructed such that, first, using the natural numbers k₁ and k₇, g and h defined by g=c₁ ² -c₇ ² +2c₃ c₅ and h=c₃ ² -c₅ ² +2c₁ c₇ with the integers c₁, c₃, c₅ and c₇, a value of one of gk₁ Q₁ +hk₇ Q₇ and gk₇ Q₇ -hk₁ Q₁ is calculated from the quantization values Q₁ and Q₇, next, a remainder is calculated when the obtained value is devided by D defined by D=(c₁ ² -c₇ ² +2c₃ c₅)² +(c₃ ² -c₅ ² +2c₁ c₇)², and then, the remainder is used as an index for the third numerical value table.

Or, the inverse transform system may be constructed such that, first, using g and h defined by g=c₁ ² -c₇ ² +2c₃ c₅ and h=c₃ ² -c₅ ² +2c₁ c₇ with the integers c₁, c₃, c₅ and c₇, a value of one of gX₁ +hX₇ and gX₇ -hX₁ is calculated from the transform values X₁ and X₇, next, a remainder is calculated when the obtained value is devided by D defined by D=(c₁ ² -c₇ ² +2c₃ c₅)² +(c₃ ² -c₅ ² +2c₁ c₇)², and then, the remainder is used as an input to the fourth numerical value table.

In the inverse transform system described above, inverse transform from quantization values (Q₁, Q₇, Q₃, Q₅) into integer four-element vectors (u₄, u₅, u₆, u₇) can be realized in the following manner.

In dequantization from the quantization values (Q₁, Q₇, Q₃, Q₅) into transform values (X₁, X₇, X₃, X₅), the quantization values (Q₃, Q₅) are first divided by natural numbers (m₃, m₅) to obtain quotients (q₃, q₅) and remainders (q'₃, q'₅), respectively. Then, using the third numerical value table which describes correspondences opposite to those of the second numerical value table of the reversible transform system according to the first aspect of the present invention, remainder values (r₁, r₇) are determined from the local quantization values (q'₃, q'₅). Then, using the remainder values (r₁, r₇), transform values (X₁, X₇) are calculated based on X₁ =Q₁ k₁ +r₁ and X₇ =Q₇ k₇ +r₇, respectively. Meanwhile, differences X₃ -s₃ and X₅ -s₅ are obtained by performing dequantization of the matrix of the expression (26) for the quotients q₃ and q₅ using the technique of the prior art, and representative elements s₃ and s₅ are determined from the transform values (X₁, X₇) calculated as above referring to the fourth table. Then, the representative elements (s₃, s₅) are added to the vectors obtained by the dequantizing means to obtain transform values (X₃, X₅). Finally, the transform values (X₁, X₇, X₃, X₅), are linearly transformed with an inverse matrix to the matrix of the expression (18) to obtain the original vectors (u₄, u₅, u₆, u₇).

Thus, the second aspect of the present invention provides a dequantization system which fully restores original values from quantization values obtained by the reversible transform system according to the first aspect of the present invention.

In the eight-element reversible discrete cosine transform based on the "Lossless Transform Coding System for Digital Signals" proposed precedently, the reversible quantization technique is used only at the last stage provided by the expressions (16) to (18), but removal of redundancies among results of butterfly calculations at the first and middle stages provided by the expressions (10) to (15) is performed by deleting the least significant bit of one of two results of each calculation. However, transform coefficients obtained as a result have dynamic ranges much different from those obtained by actual discrete cosine transform. Therefore, the butterfly calculations in the first and middle stages are replaced by reversible transform with a matrix ##EQU13## In the eight-element reversible discrete cosine transform obtained by the replacement, the dynamic ranges of quantization values Q₀, Q₁, Q₂, Q₃, Q₄, Q₅, Q₆ and Q₇ obtained finally can be made substantially uniform by selecting the quantization periods and the scaling factors so that the dynamic ranges of the quantization values may be substantially equal to each other. This is realized by a reversible transform system according to a further or third aspect of the present invention.

In particular, according to the third aspect of the present invention, there is provided a reversible transform system for obtaining eight transform coefficients of quantization values Q₀, Q₁, Q₂, Q₃, Q₄, Q₅, Q₆ and Q₇ from eight signals of x₀, x₁, X₂, X₃, X₄, X₅, X₆ and X₇, comprising means for performing transform and reversible quantization of the signals (x₀, x₇), (x₁, x₆), (x₂, x₅) and (x₃, x₄) with a matrix ##EQU14## to obtain quantization values (u₀, u₄), (u₂, u₅), (u₃, u₇) and (u₁, u₅), means for performing transform and reversible quantization of the quantization values (u₀, u₁) and (u₂, u₃) with the matrix ##EQU15## to obtain quantization values (v₀, v₁) and (v₂, v₃), means for performing transform and reversible quantization of the quantization values (v₀, v₂) with an integer matrix given by ##EQU16## to obtain quantization values as the quantization values (Q₀, Q₄), means for performing transform and reversible quantization of the quantization values (v₁, v₃) with another integer matrix given by ##EQU17## to obtain quantization values as the quantization values (Q₂, Q₆), and means for performing reversible transform of the quantization values (u₄, u₅, u₆, u₇) to obtain vectors as the quantization values (Q₁, Q₇, Q₃, Q₅).

Thus, the third aspect of the present invention provides eight-element reversible discrete cosine transform wherein reversible quantization is performed at each stage of the eight-element reversible discrete cosine transform so that transform coefficients whose dynamic ranges are uniform and which are proximate to transform coefficients obtained by actual discrete cosine transform. As a result, the coding efficiency is improved, and also the compatibility with conventional eight-element discrete cosine transform is superior.

Similarly, while eight-element reversible inverse discrete cosine transform based on the "Lossless Transform Coding System for Digital Signals" proposed precedently includes, at each of the middle and last stages, a portion where the least significant bit of one of each two inputs is added to the other input and butterfly calculations are performed based on the inputs and then results of the butterfly calculations are multiplied by 1/2, inverse transform to that of the reversible transform system according to the third aspect of the present invention can be realized by replacing the portion with inverse transform of reversible transform with the matrix given by ##EQU18## This is realized by an inverse transform system according to a still further of fourth aspect of the present invention.

In particular, according to the fourth aspect of the present invention, there is provided an inverse transform system, comprising means for performing inverse transform of quantization values (Q₁, Q₇, Q₃, Q₅) to obtain vectors (u₄, u₅, u₆, u₇), means for performing dequantization and inverse transform of quantization values (Q₂, Q₆) with a matrix ##EQU19## to obtain vectors (v₁, v₃), means for performing dequantization and inverse transform of quantization values (Q₀, Q₄) with another matrix ##EQU20## to obtain vectors (v₀, v₂), means for performing dequantization and inverse transform of the quantization values (v₀, v₁) and (v₂, v₃) with a matrix ##EQU21## to obtain vectors (u₀, u₁) and (u₂, u₃), and means for performing dequantization and inverse transform of the vectors (u₀, u₄), (u₂, u₆), (u₃, u₇) and (u₁, u₅) with the matrix ##EQU22## to obtain vectors (x₀, x₇), (x₁, x₆), (x₂, x₅), and (x₃, x₄).

Thus, the fourth aspect of the present invention provides an inverse transform system which fully restores original signals from transform coefficients obtained by the reversible transform system according to the third aspect of the present invention.

In the reversible transform system according to the first aspect of the present invention described above, the representative elements (s₃, s₅) are determined from the first numerical value table, and are used as indices for the second numerical value table. In addition, in the inverse transform system according to the second aspect of the present invention described above, the representative elements (s₃, s₅) are used as indices for the third numerical value table, and determined from the fourth numerical value table. Thus, a technique of determining the representative elements (s₃, s₅) will be described below. Where quotients and remainders when components of vectors (hX₃ +gX₅, hX₅ -gX₃), which are obtained by multiplying the transform points (X₃, X₅) by the transposed matrix of the expression (26), are divided by the determinant D are represented by (α₃, α₅) and (ρ₃, ρ₅), respectively, the values of the remainders (ρ₃, ρ₅) are equal to each other for the transform points (X₃, X₅) which have the same representative elements (s₃, s₅). In other words, the representative elements (s₃, s₅) can be determined from the values of the remainders (ρ₃, ρ₅).

Here, the possible values as the remainders (ρ₃, ρ₅) are examined. Where vectors obtained by subtracting results of multiplication of the quotients (α₃, α₅) by the matrix of the expression (26) from the transform points (X₃, X₅), are represented by (t₃, t₅), respectively, the remainders (ρ₃, ρ₅) are given by ##EQU23## Since the values t₃ and t₅ are integers, it can be seen that the remainders (ρ₃, ρ₅) represent transform points of the transform with the transposed matrix of the expression (26) which satisfy 0≦ρ₃ ≦D-1 and 0≦ρ₅ ≦D-1. Generally, both of the remainders ρ₃ and ρ₅ are required in order to determine the representative elements (s₃, s₅). However, where g and h are prime relative to each other, only one value is possible as the remainder ρ₃ for each remainder ρ₅. Accordingly, by describing correspondence between one of the remainder ρ₃ obtained when hX₃ +gX₅ is divided by D and the remainder ρ₅ obtained when hX₅ -gX₃ is divided by D and the representative elements (s₃, s₅) in a table, the representative elements (s₃, s₅) can be determined.

Further, it can be proved that the possible values as the transform points (X₁, X₇) which provide the same representative elements (s₃, s₅) are limited to ##EQU24## where n₃ and n₄ are arbitrary integers, and (s₁, s₇) are integer vectors. Since the integer vectors (s₁, s₇) and the representative elements (s₃, s₅) correspond in a one-by-one correspondence to each other, it can be recognized that, using a similar logic to that described above, the integer vectors (s₁, s₇) are determined from remainders obtained when (gX₁ +hX₇, gX₇ -hX₁) are divided by D, and the representative elements (s₃, s₅) can be determined from the integer vectors (s₁, s₇). Consequently, where g and h are prime relative to each other, by describing correspondences between one of the remainder obtained when hX₁ +gX₇ is divided by D and the remainder obtained when hX₇ -gX₁ is divided by D and the representative elements (s₃, s₅) in a table, the representative elements (s₃, s₅) can be determined. Where g and h are prime relative to each other, the representative elements (s₃, s₅) are determined from the numerical value table using the relationship just described. Further, the foregoing is applied to (X₁, X₇)=(k₁ Q₁, k₇ Q₇), and resulting remainders are used as indices for the second and third numerical value tables which describe the relationship between the remainders (r₁, r₇) and the local quantization values (q'₃, and q'⁵).

The above and other objects, features and advantages of the present invention will become apparent from the following description and the appended claims, taken in conjunction with the accompanying drawings in which like parts or elements are denoted by like reference characters.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram showing a transform coding system to which the present invention is applied;

FIG. 2 is a similar view but showing a modification to transform coding system of FIG. 1;

FIG. 3 is a block diagram showing an inverse transform system to which the present invention is applied;

FIG. 4 is a block diagram showing an eight-element reversible discrete cosine transform system to which the present invention is applied;

FIG. 5 is a block diagram showing an eight-element reversible discrete cosine inverse transform system to which the present invention is applied; and

FIG. 6 is a block diagram showing a conventional eight-element reversible discrete cosine transform system.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

Referring first to FIG. 1, there is shown a transform coding system to which the present invention is applied. Integer four-element vectors (u₄, u₅, u₆, u₇) are transformed by a transformer 100 so that transform values (X₁, X₇, X₃, X₅) are obtained. Of the transform values X₁, X₇, X₃ and X₅, the transform values X₁ and X₇ are divided by natural numbers k₁ and k₇ and rounded or half-adjusted to obtain quantization values Q₁ and Q₇ by computing elements 10 and 11, respectively. The quantization values Q₁ and Q₇ are multiplied by the natural numbers k₁ and k₇ by multipliers 18 and 19 and then subtracted from the transform values X₁ and X₇ by adders 20 and 21 to obtain remainder values r₁ and r₇ respectively. Meanwhile, representative elements (s₃ and s₅) are obtained from the transform values X₁ and X₇ based on a first numerical value table 120. The representative elements (s₃ and s₅) are subtracted from the transform values (X₃, X₅) by adders 12 and 13 so that differences (X₃,-s₃ X₅ -s₅) are obtained. For the differences (X₃ -s₃, X₅ -s₅), reversible transform quantization based on the matrix of the expression (26) given hereinabove is performed by a reversible quantizer 110 to obtain global quantization values (q₃, q₅). Further, using a second numerical value table 130, local quantization values (q'₃, q'₅) are obtained from the remainder values r₁ and r₇. Then, ranges m₃ and m₅ of the local quantization values q'₃ and q'₅ are multiplied by the global quantization values q₃ and q₅ by multipliers 14 and 15, respectively, and the local quantization values q'₃ and q'₅ are added to the products by adders 16 and 17 to obtain quantization values Q₃ and Q₅, respectively.

FIG. 2 shows another transform coding system to which the present invention is applied. The transform coding system of FIG. 2 is a modification to and includes common components to those of the transform coding system of FIG. 1, but is different only in that it includes a first numerical value table 140 in place of the first numerical value table 120 and not the transform values X₁ and X₇ but the transform values X₃ and X₅ are inputted to the first numerical value table 120.

Referring now to FIG. 3, there is shown an inverse transform system to which the present invention is applied. Of quantization values (Q₁, Q₇, Q₃, Q₅), the quantization values Q₃ and Q₅ are divided by ranges m₃ and m₅ of local quantization values q'₃ and q'₅ therefor by integer dividers 30 and 31, respectively, whereupon the quotients are obtained as global quantization values q₃ and q₅ and the remainders are obtained as local quantization values q'₃ and q'₅, respectively. Then, using a third numerical value table 220, remainder values r₁ and r₇ are obtained from the local quantization values q'₃ and q'₅. Meanwhile, the quantization values Q₁ and Q₇ are multiplied by natural numbers k₁ and k₇ by multipliers 32 and 33, and the remainder values r₁ and r₇ are added to the products of the multipliers 32 and 33 by adders 34 and 35 to obtain dequantization values X₁ and X₇ of the quantization values Q₁ and Q₇, respectively. Further, a dequantizer 200 performs dequantization based on the matrix of the expression (26) given hereinabove to obtain difference values X₃ -s₃ and X₅ -s₅. Meanwhile, values of the representative elements (s₃, s₅) are determined from the formerly calculated dequantization values X₁ and X₇ using a fourth numerical value table 230. The representative elements s₃ and s₅ are added to the difference values X₃ -s₃ and X₅ -s₅ by adders 36 and 37 to obtain the dequantization values X₃ and X₅ for the quantization values Q₃ and Q₅. Finally, an inverse transformer 210 performs linear transform based on the inverse matrix of the expression (18) above for the dequantization values (X₁, X₇, X₃, X₅) to obtain integer four-element vectors (u₄, u₅, u₆, u₇).

A reversible transform system to which the present invention is applied is illustrated in FIG. 4. Referring to FIG. 4, the technique employed in the transform system illustrated in FIG. 4 is similar to the decomposition technique of the eight-element reversible discrete cosine transformer illustrated in FIG. 6, but is different in that a transform and reversible quantization based on a matrix ##EQU25## are employed in place of the portion of the decomposition technique of FIG. 6 wherein butterfly calculations are performed at the first and middle stages and the least significant bit of one of the two results for each calculation is deleted. By employing reversible quantization also for the first and middle stages, redundancies can be removed while making the dynamic ranges of both of the two results for each calculation substantially equal to each other. For example, if the quantization periods of reversible transform quantization based on the matrix are set to (14, 10) and the scaling multipliers are set to (10, 7), then the dynamic ranges reduce to 10/14and 7/10, respectively. Here,

10/14≅7/10

and accordingly, only little different appears between the dynamic ranges of quantization values. In this manner, if the quantization periods and the scaling multipliers are determined such that the dynamic ranges of each two numbers may be substantially equal to each other in reversible transform quantization of each stage, then also the dynamic ranges of quantization values (Q₀, Q₁, Q₂, Q₃, Q₄, Q₅, Q₆, Q₇) obtained finally are substantially equal to each other.

FIG. 5 shows an inverse transform system to which the present invention is applied. Referring to FIG. 5, the technique of the inverse transform system is similar to the decomposition technique of the eight-element reversible discrete cosine transform illustrated in FIG. 6, but is different in that dequantization and inverse transform based on a matrix ##EQU26## are employed in place of the portion of the decomposition technique of FIG. 6 wherein, at the middle and last stages, the least significant bit of one of two inputs for each butterfly calculation is added to the other input and butterfly calculations are performed based on the inputs and then results of the butterfly calculations are divided to 1/2.

Referring back to FIG. 1, when g and h are relatively prime, a function z(X₁, X₇) is calculated from the transform values X₁ and X₇ and the representative elements (s₃ and s₅) are determined from the value of the function Z(X₁, X₇) using the first numerical value table 120 shown in FIG. 1. Here, the function z(x, y) is a function which gives back a remainder when gx+hy is divided by the determinant D. A concrete example of the first numerical value table 120 where (c₁, c₃, c₅, c₇)=(5, 4, 3, 1) is given below. In this instance, g=48, h=17, and D=2,593, and g and h are relatively prime. The first numerical value table in this instance is such as Table 1 given below. Alternatively, the function z(x, y) may be another function which gives back a remainder when gy-hx is divided by D. Also in this instance, a table similar to table 1 can be produced as the first numerical value table.

                  TABLE 1                                                          ______________________________________                                         z (X.sub.1, X.sub.7)                                                                            s.sub.3                                                                               s.sub.5                                                ______________________________________                                         0                0      0                                                      1                -7      17                                                    2                17     -31                                                    3                10     -14                                                    .                .      .                                                      .                .      .                                                      .                .      .                                                      2592             7      -17                                                    ______________________________________                                    

Alternatively, the representative elements (s₃, s₅) may be determined from the value of another function z(X₅, X₃) determined from the transform values X₃ and X₅ based on the first numerical value table 140 shown in FIG. 2. Also in this instance, a table similar to Table 1 above can be produced as the first numerical value table.

It is also possible to calculate a value of the function z(k₁ Q₁, k₇ Q₇) from values k₁ Q₁ and k₇ Q₇ and determine, using the value of the function z(k₁ Q₁) k7Q₇) as an index, local quantization values (q'₃, q'₅) based on the second numerical value table 130 of FIG. 1 or 2. An example of the second numerical value table produced with k₁ =k₇ =m₃ =m₅ =3 when (c₁, c₃, c₅, c₇)=(5, 4, 3, 1) is given below. If it is taken into consideration that, when the index z(k₁ Q₁, k₇ Q₇)=0, the correspondence between remainder values (r₁, r₇) and the (s₃, s₅) is such as illustrated in Table 2, then the correspondence between the remainder values (r₁, r₇) and the local quantization values (q'₃, q'₅) can be defined in such a manner as, for example, seen in Table 3. Similarly, such a table can be produced for each value of the function z(k₁ Q₁, k₇ Q₇), and the entire tables produced for all values of the functions z(k₁ Q₁, k₇ Q₇)=0, 1, . . . , 2,592 in this manner make the second numerical value table.

                  TABLE 2                                                          ______________________________________                                         r.sub.1  r.sub.7       s.sub.3                                                                               s.sub.5                                          ______________________________________                                         -1       -1            -24    -17                                              -1       0             -19    12                                               -1       1             17     -24                                              0        -1            12     19                                               0        0             0      0                                                0        1             -12    -19                                              1        -1            -17    24                                               1        0             19     -12                                              1        1             24     17                                               ______________________________________                                    

                  TABLE 3                                                          ______________________________________                                         r.sub.1  r.sub.7       q'.sub.3                                                                              q'.sub.5                                         ______________________________________                                         -1       -1            -1     -1                                               -1       0             -1     0                                                -1       1             1      -1                                               0        -1            0      1                                                0        0             0      0                                                0        1             0      -1                                               1        -1            -1     1                                                1        0             1      0                                                1        1             1      1                                                ______________________________________                                    

Or, it is possible to calculate a value of the function z(k₁ Q₁, k₇ Q₇) from the values k₁ Q₇ and k₇ Q₇ and determine, using the value of the function z(k₁ Q₁, k₇ Q₇) as an index, remainder values (r₁, r₇) based on the third numerical value table 220 shown in FIG. 3. By producing, as the third numerical value table 220, a table which provides a relationship opposite to that of the second numerical value table used in the transform coding system of FIG. 1 or 2, full inverse transform can be realized. For example, where Table 3 is used for the index z(k₁ Q₁, k₇ Q₇)=0 as the second numerical value table of the transform coding system of FIG. 1 or 2, the table for the index z(k₁ Q₁, k₇ Q₇)=0 of the third numerical value table is such as Table 4 given below. The entire tables produced for all values of the functions z(k₁ Q₁, k₇ Q₇) in this manner make the third numerical value table 220.

                  TABLE 4                                                          ______________________________________                                         q'.sub.3 q'.sub.5      r.sub.1                                                                               r.sub.7                                          ______________________________________                                         -1       -1            -1     -1                                               -1       0             -1     0                                                -1       1             1      -1                                               0        -1            0      1                                                0        0             0      0                                                0        1             0      -1                                               1        -1            -1     1                                                1        0             1      0                                                1        1             1      1                                                ______________________________________                                    

Also, it is possible to calculate a value of the function z(X₁, X₇) from the transform coefficients X₁ and X₇ and determine, using the value of function z(X₁, X₇) as an index, representative elements (s₃, s₅) based on the fourth numerical value table 230 shown in FIG. 3. Here, the fourth numerical value table 230 is required only to be the same as the first numerical value table 120.

Having now fully described the invention, it will be apparent to one of ordinary skill in the art that many changes and modifications can be made thereto without departing from the spirit and scope of the invention as set forth herein. 

What is claimed is:
 1. A reversible transform system for reversibly transforming integer four-element vectors (u₄, u₅, u₆, u₇) into quantization values (Q₁, Q₇, Q₃, Q₅), comprising:means for linearly transforming the integer four-element vectors (u₄, u₅, u₆, u₇) with an integer matrix ##EQU27## to obtain transform values (X₁, X₇, X₃, X₅); means for dividing the transform coefficients X₁ and X₇ by natural numbers k₁ and k₇ and half-adjusting quotients of the division to obtain quantization values Q₁ and Q₇, respectively; means for multiplying the natural numbers k₁ and k₇ by the quantization values Q₁ and Q₇ to obtain products k₁ Q₁ and k₇ Q₇ and subtracting the products k₁ Q₁ and k₇ Q₇ from the transform values X₁ and X₇ to obtain remainder values r₁ and r₇, respectively; means for determining representative elements (s₃, s₅) based on a first numerical value table using the transform values (X₁, X₇) or the transform values (X₃, X₅); means for subtracting the representative elements (s₃, s₅) from the transform values (X₃, X₅), respectively, to obtain vectors; means for reversibly transforming and quantizing the vectors obtained by said subtracting means to obtain global quantization values (q₃, q₅); means for determining local quantization values (q'₃, q'₅) of the transform values (X₃, X₅) from the remainders (r₁, r₇) based on a second numerical value table; and means for multiplying the global quantization values (q₃, q₅) by natural numbers (m₃, m₅) and adding the local quantization values (q'₃, q'₅) to products of the multiplication to obtain quantization values (Q₃, Q₅) of the transform values (X₃, X₅), respectively.
 2. A reversible transform system as claimed in claim 1, wherein, first, using g and h defined by g=c₁ ² -c₇ ² +2c₃ c₅ and h=c₃ ² -c₅ ² +2c₁ c₇ with the integers c₁, c₃, c₅ and c₇, a value of one of gX₁ +hX₇, gX₇ -hX₁, hX₃ +gX₅, and hX₅ -gX₃ is calculated from the transform values X₁, X₃, X₅ and X₇, next, a remainder is calculated when the obtained value is divided by D defined by D=(c₁ ² -c₇ ² +2c₃ c₅)² +(c₃ ² -c₅ ² +2c₁ c₇)², and then, the remainder is used as an input to said first numerical value table.
 3. A reversible transform system as claimed in claim 1, wherein, first, using the natural numbers k₁ and k₇, g and h defined by g=c₁ ² -c₇ ² +2c₃ c₅ and h=c₃ ² -c₅ ² +2c₁ c₇ with the integers c₁, c₃, c₅ and c₇, a value of one of gk₁ Q₁ +hk₇ Q₇ and gk₇ Q₇ -hk₁ Q₁ is calculated from the quantization values Q₁ and Q₇, next, a remainder is calculated when the obtained value is divided by D defined by D=(c₁ ² -c₇ ² +2c₃ c₅)² +(c₃ ² -c₅ ² +2c₁ c₇)², and then, the remainder is used as an index for said second numerical value table.
 4. An inverse transform system for inversely transforming quantization values (Q₁, Q₇, Q₃, Q₅) into integer four-element vectors (u₄, u₅, u₆, u₇), comprising:means for dividing the quantization values (Q₃, Q₅) by natural numbers (m₃, m₅) to obtain quotients as global quantization values (q₃, q₅) and remainders as local quantization values (q'₃, q'₅), respectively; means for determining remainder values (r₁, r₇) from the local quantization values (q'₃, q'₅) based on a third numerical value table; means for multiplying the quantization values (Q₁, Q₇) by natural numbers (k₁, k₇) and adding the remainder values (r₁, r₇) to products of the multiplication to obtain transform values (X₁, X₇), respectively; means for determining representative elements (s₃, s₅) from the transform values (X₁, X₇) based on a fourth numerical value table; means for dequantizing the general situation quantization values (q₃, q₅) to obtain vectors; means for adding the representative elements (s₃, s₅) to the vector obtained by said dequantizing means to obtain transform values (X₃, X₅); and means for linearly transforming the transform values (X₁, X₇, X₃, X₅) with an inverse matrix of an integer matrix ##EQU28## to obtain the integer four-element vectors (u₄, u₅, u₆, u₇).
 5. An inverse transform system as claimed in claim 4, wherein, first, using the natural numbers k₁ and k₇, g and h defined by g=c₁ ² -c₇ ² +2c₃ c₅ and h=c₃ ² -c₅ ² +2c₁ c₇ with the integers c₁, c₃, c₅ and c₇, a value of one of gk₁ Q₁ +hk₇ Q₇ and gk₇ Q₇ -hk₁ Q₁ is calculated from the quantization values Q₁ and Q₇, next, a remainder is calculated when the obtained value is divided by D defined by D=(c₁ ² -c₇ ² +2c₃ c₅)² +(c₃ ² -c₅ ² +2c₁ c₇)², and then, the remainder is used as an index for said third numerical value table.
 6. An inverse transform system as claimed in claim 4, wherein, first, using g and h defined by g=c₁ ² -c₇ ² +2c₃ c₅ and h=c₃ ² -c₅ ² +2c₁ c₇ with the integers c₁, c₃, c₅ and c₇, a value of one of gX₁ +hX₇ and gX₇ -hX₁ is calculated from the transform values X₁ and X₇, next, a remainder is calculated when the obtained value is divided by D defined by D=(c₁ ² -c₇ ² +2c₃ c₅)² +(c₃ ² -c₅ ² +2c₁ c₇)², and then, the remainder is used as an input for said fourth numerical value table. 